package com.gulimall.order.config;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * @author kkk
 * @date 2022/8/3
 */
@Component
public class RabbitCallbackConfig {
    @Autowired
    RabbitTemplate rabbitTemplate;

    //    @PostConstruct
//    public void initRabbitTemplate() {
//        //设置确认回调
//        rabbitTemplate.setConfirmCallback(new RabbitTemplate.ConfirmCallback() {
//            /**
//             *
//             * @param correlationData  当前消息的唯一关联数据 (这个消息是唯一id)
//             * @param ack 消息是否成功收到，只要消息抵达Broker 服务器，ack就等于true，不管消息之后是否成功
//             * @param cause 失败的原因
//             */
//            @Override
//            public void confirm(CorrelationData correlationData, boolean ack, String cause) {
//                System.out.println("correlationData " + correlationData);
//                System.out.println("ack " + ack);
//                System.out.println("cause " + cause);
//            }
//        });
//
//        //设置消息抵达队列的确认回调
//        rabbitTemplate.setReturnsCallback(new RabbitTemplate.ReturnsCallback() {
//            @Override
//            public void returnedMessage(ReturnedMessage returned) {
//                System.out.println("returned " + returned);
//            }
//        });
//    }
}
